home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / news / readers / nn / nn6.4.patch2 < prev    next >
Encoding:
Text File  |  1990-05-15  |  57.8 KB  |  1,738 lines

  1.          This is an official patch to nn release 6.4
  2.          -------------------------------------------
  3.  
  4.                    PATCH #2
  5.  
  6.                 Priority: HIGH
  7.  
  8.  
  9. These patches fixes a number of bugs in the initial 6.4 release of nn
  10. as well as a problem introduced in patch #1 which caused 6.4.1 to dump
  11. core in some situations on some systems.  The changes are described in
  12. the updated RELEASE_NOTES file (read that for details about this patch).
  13. Thanks to all who reported bugs and provided fixes.
  14.  
  15. To apply this patch, use nn's :patch command, or run this command from
  16. the shell in the root of the nn source tree:
  17.     patch -p0 < this-article
  18.  
  19.  
  20. ++Kim Storm
  21.  
  22. *** ./LAST/Makefile    Wed May  2 19:14:00 1990
  23. --- Makefile    Tue May 15 16:58:37 1990
  24. ***************
  25. *** 66,72 ****
  26.       sed -e '1,/MAKE WILL CUT HERE/d' \
  27.           -e '/^#/d' \
  28.           -e '/^[ \f    ]$$/d' \
  29. !         -e '/^[ /]*[*]/d' | \
  30.       sed -n -e '/^..*$$/p' > ymakefile
  31.       rm -f MF.c
  32.   
  33. --- 66,72 ----
  34.       sed -e '1,/MAKE WILL CUT HERE/d' \
  35.           -e '/^#/d' \
  36.           -e '/^[ \f    ]$$/d' \
  37. !         -e '/^[ \/]*[*]/d' | \
  38.       sed -n -e '/^..*$$/p' > ymakefile
  39.       rm -f MF.c
  40.   
  41. *** ./LAST/answer.c    Tue May 15 13:31:00 1990
  42. --- answer.c    Mon May 14 15:32:46 1990
  43. ***************
  44. *** 730,736 ****
  45.       if (post_source_file) {
  46.       src = open_file(post_source_file, OPEN_READ);
  47.       if (src == NULL) {
  48. !         printf("File %s not found\n");
  49.           nn_exit(1);
  50.       }
  51.       }
  52. --- 730,736 ----
  53.       if (post_source_file) {
  54.       src = open_file(post_source_file, OPEN_READ);
  55.       if (src == NULL) {
  56. !         printf("File %s not found\n", post_source_file);
  57.           nn_exit(1);
  58.       }
  59.       }
  60. *** ./LAST/aux.sh    Tue May 15 13:31:01 1990
  61. --- aux.sh    Mon May 14 17:13:59 1990
  62. ***************
  63. *** 169,192 ****
  64.     esac
  65.   done
  66.   
  67. ! case "$OPERATION" in
  68. !   reply|forward|mail)
  69. !     if [ ${APPEND_SIG} = "true" -a -f $HOME/.signature ] ; then
  70. !       if ${QUERY_SIG} ; then
  71. !           ${AWK} 'END{printf "Append .signature? (y) "}' < /dev/null
  72. !           read ans
  73. !       else
  74. !           ans=y
  75. !       fi
  76. !       case $ans in
  77. !       ''|y*|Y*)
  78. !         echo "--" >> $WORK
  79. !         cat $HOME/.signature >> $WORK
  80. !         ;;
  81. !       esac
  82. !     fi
  83.       ;;
  84.     follow|post)
  85.       if ${NOVICE} ; then
  86.         echo "Be patient! Your new article will not show up immediately."
  87. --- 169,190 ----
  88.     esac
  89.   done
  90.   
  91. ! if [ ${APPEND_SIG} = "true" -a -f $HOME/.signature ] ; then
  92. !   if ${QUERY_SIG} ; then
  93. !     ${AWK} 'END{printf "Append .signature? (y) "}' < /dev/null
  94. !     read ans
  95. !   else
  96. !     ans=y
  97. !   fi
  98. !   case $ans in
  99. !   ''|y*|Y*)
  100. !     echo "--" >> $WORK
  101. !     cat $HOME/.signature >> $WORK
  102.       ;;
  103. +   esac
  104. + fi
  105. + case "$OPERATION" in
  106.     follow|post)
  107.       if ${NOVICE} ; then
  108.         echo "Be patient! Your new article will not show up immediately."
  109. *** ./LAST/conf/s-dynix3-0.h    Sat Mar 31 23:13:01 1990
  110. --- conf/s-dynix3-0.h    Mon May 14 15:32:47 1990
  111. ***************
  112. *** 2,7 ****
  113. --- 2,9 ----
  114.    *    This version is for Dynix 3.0 systems
  115.    */
  116.   
  117. + #define USE_STRINGS_H
  118.   #include "s-bsd4-2.h"
  119.   
  120.   #undef HAVE_MULTIGROUP
  121. + FILE *popen ();
  122. *** ./LAST/conf/s-sgi4D.h    Mon Apr 23 18:32:48 1990
  123. --- conf/s-sgi4D.h    Mon May 14 17:21:39 1990
  124. ***************
  125. *** 31,37 ****
  126.    */
  127.   
  128.   #undef    MAILX
  129. ! #define    MAILX        "/usr/bsd/Mail"
  130.   
  131.   /*
  132.    *    Define standard compiler flags here:
  133. --- 31,37 ----
  134.    */
  135.   
  136.   #undef    MAILX
  137. ! #define    MAILX        "/usr/sbin/Mail"
  138.   
  139.   /*
  140.    *    Define standard compiler flags here:
  141. *** ./LAST/config.h-dist    Sat May  5 18:48:13 1990
  142. --- config.h-dist    Mon May 14 17:13:57 1990
  143. ***************
  144. *** 61,66 ****
  145. --- 61,67 ----
  146.    *
  147.    *    If the file name does not start with a slash, it is relative to
  148.    *    LIB_DIRECTORY defined below.
  149. +  *    NOTE: If you plan to use the included inews, it MUST be a full pathname
  150.    */
  151.   
  152.   #define NNTP_SERVER    "/usr/lib/nntp_server"
  153. *** ./LAST/doc/RELEASE_NOTES    Tue May 15 13:31:02 1990
  154. --- doc/RELEASE_NOTES    Tue May 15 18:44:43 1990
  155. ***************
  156. *** 252,254 ****
  157. --- 252,465 ----
  158.       server, the incomplete active file is believed to be the complete
  159.       active file.  This causes nnmaster to remove the groups which didn't
  160.       get written to the active file.
  161. + Prog:    xmakefile
  162. + Title:    BSD make chokes on || form
  163. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  164. +     pete@eleazar.dartmouth.edu (Pete Schmitt)
  165. + Fixed:    Patch #2 [xmakefile]
  166. +     If man/nn.1 exists, then the [ ! -f man/nn.1 ] test exits non-zero.
  167. +     To prevent BSD make from choking on this, the test command should be
  168. +     prefixed with a '-' to have make ignore the non-zero status.
  169. + Prog:    inst
  170. + Title:    test -w cannot test directories
  171. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  172. +     Mark Nagel <nagel@wintermute.ICS.UCI.EDU>
  173. + Fixed:    Patch #2 [inst.sh -- omitted the check]
  174. +     In the inst.sh script, a check is made whether a directory is write-
  175. +     able by using test -w man/.  On BSD systems, this test applies only
  176. +     to files and not directories so it always fails.
  177. + Prog:    nnmaster
  178. + Title:    TERM signal not handled properly
  179. + From:    Paul Pomes <paul@uxc.cso.uiuc.edu>
  180. + Status:    I cannot reproduce this problem!
  181. +     
  182. +     When nnmaster is sent a TERM signal, it does not remove the MPID
  183. +     file.  The next invocation of nnmaster complains that nnmaster is
  184. +     already running, removes the MPID file, and then exits.  The next
  185. +     invocation will then succeed.
  186. + Prog:    nn
  187. + Title:    G to unknown group dumps core.
  188. + From:    dean@coplex.UUCP (Dean Brooks)
  189. + Fixed:    Patch #2 [group.c]
  190. +     NN 6.4.1 will dump core on our machine if you use the "G"
  191. +     command to go to a group that doesn't exist.
  192. + Prog:    nn
  193. + Title:    Start-up error messages disappears (xterm)
  194. + From:    jaap@sequent.uucp (Jaap Vermeulen)
  195. +     Error messages at startup time of 'nn' are unreadable (no time to
  196. +     read them :-) and in an xterm written in the alternate screen.
  197. + Prog:    nn - xterm
  198. + Title:    Mail command does not work well with xterm
  199. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  200. +     I'm in menu mode, I 'M'ail an article, I do not edit it.
  201. +     When it mails nn reverts to the alternate screen (xterm) when done I
  202. +     lost the menu information, the only thing that gets redrawn is the
  203. +     status line (i.e. I end up with an emptry screen except for the
  204. +     status line). A ^L will fix this, of course.
  205. + Prog:    nn
  206. + Title:    Interrupt char doesn't work (CBREAK/DYNIX)
  207. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  208. +     Interrupt (^C) does not work. ^G does work.
  209. +     'stty' tells me I'm really using interrupt (^C).
  210. +     (Problem is that SV_INTERRUPT is not defined on DYNIX, ++Kim)
  211. + Prog:    nn
  212. + Title:    y=YES n=NO is displayed to late
  213. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  214. + Fixed:    Patch #2 [term.c]
  215. +     "y=YES n=NO" help is displayed too late on some systems (no flush).
  216. + Prog:    config.h
  217. + Title:    CLIENT_DIRECTORY overrides LIB_DIRECTORY
  218. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  219. + Fixed:    Patch #2 [global.c]
  220. +     
  221. +     When I change CLIENT_DIRECTORY, LIB_DIRECTORY is also changed to
  222. +     CLIENT_DIRECTORY, which is, I assume, not the correct behavior.
  223. + Prog:    nn
  224. + Title:    G folder ... N dumps core
  225. + From:    Robert.Stockton@ELROND.GANDALF.CS.CMU.EDU + fix
  226. +     "Jason Molenda" <molenda@s1.msi.umn.edu>
  227. +     dean@coplex.uucp (Dean Brooks)
  228. +     olson%anchor.esd@sgi.com (Dave Olson)
  229. + Fixed:    Patch #2 [group.c]
  230. +     After installing patch 1 for 6.4 I get core dumps after reading
  231. +     folders.
  232. + Prog:    nn
  233. + Title:    First 'B' after startup will crash nn
  234. + From:    Jaap Vermeulen <jaap%sequent@relay.EU.net>
  235. + Fixed:    Patch #2 [group.c]
  236. +     Start nn, hit 'B', segmentation violation....
  237. + Prog:    nnmaster - expire
  238. + Title:    Expire may dump core if first group in active is empty. + fix
  239. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  240. + Fixed:    Patch #2 [nntp.c]
  241. +     When using nntp, if the first group checked contains no articles, then
  242. +     art is still a null pointer, so the attempt to set *art = 0; causes a
  243. +     core dump on systems that don't allow de-referencing a null pointer.
  244. + Prog:    config.h
  245. + Title:    NNTP_SERVER must be full path is mini-inews is built + fix
  246. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  247. + Fixed:    Patch #2 [config.h-dist]
  248. +     For config.h, when inews is going to built, one MUST use a full path
  249. +     for NNTP_SERVER define, or inews will not be able to find the file.
  250. + Prog:    nnmaster
  251. + Title:    Database gets corrupted
  252. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  253. +     First, the database seems to be getting corrupted quite often.  I get
  254. +     errors like this in the Log.  (nntp is used)
  255. +       E: May 11 14:57 (olson): sgi.bugs.aspen: data inconsistency
  256. +     I am running nnmaster -r15 -C -e -E1 (and with -l on patch #1).
  257. + Prog:    nn
  258. + Title:    Group is marked read if database is corrupted
  259. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  260. + Fixed:    Patch #2 [group.c]
  261. +     ... when this happens, nn marks the group as read, which would seem
  262. +     to me to be the wrong thing to do.
  263. + Prog:    nn
  264. + Title:    Missing printf args.
  265. + From:    olson%anchor.esd@sgi.com (Dave Olson) + fix
  266. + Fixed:    Patch #2 [answer.c newsrc.c]
  267. + Title:    new-group-action 4 dumps core
  268. + From:    Doug Walker <uunet!fdls!dougw>
  269. +     Peter Andersen <datpete@daimi.dk> + fix
  270. + Fixed:    Patch #2 [newsrc.c]
  271. +     
  272. + Prog:    nncheck
  273. + Title:    nncheck sometimes ignores the -Q option
  274. + From:    Jaap Vermeulen <jaap@sequent.uucp>
  275. +     Peter Andersen <datpete@daimi.dk> + fix
  276. +     Torben Lange <torbenl@aau.dk> + fix
  277. + Fixed:    Patch #2 [nn.c]
  278. +     'nncheck -Q' always says: Release 6.4.1 #8,  Kim F. Storm, 1990
  279. + Prog:    s-dynix3-0.h
  280. + Title:    Compiler warnings on dynix 3.0.17
  281. + From:    Jaap Vermeulen <jaap@sequent.uucp> + fix
  282. + Fixed:    Patch #2 [s-dynix3-0.h]
  283. + Prog:    manuals
  284. + Title:    Inconsistencies in manuals
  285. + From:    Peter Andersen <datpete@daimi.dk>
  286. + Fixed:    Patch #2 [man/*]
  287. +     nncheck manual still mentions .nn/rc
  288. +     nnquery is still mentioned in many manuals
  289. +     nnpost & nngrab is missing in most See Also sections
  290. + Prog:    aux
  291. + Title:    posting via Cnews' inews; output considered an error
  292. + From:    Mark Nagel <nagel@wintermute.ICS.UCI.EDU>
  293. +     Sometimes inews may produce valid output, e.g. when postings to a
  294. +     moderated group is converted to mail.  However, output from inews
  295. +     is always considered to imply failure to post.
  296. + Prog:    nn
  297. + Title:    append-signature-post not honoured
  298. + From:    leo@aai.uucp
  299. + Fixed:    Patch #2 [aux.sh]
  300. +     I have noticed some inconsistencies about when I am asked whether to
  301. +     include my .sig or not depending on whether I'm posting, following
  302. +     up, or mailing.
  303. + Prog:    manuals
  304. + Title:    Spelling mistakes
  305. + From:    olson%anchor.esd@sgi.com (Dave Olson)
  306. + Fixed:    Patch #2 [man/*]
  307. +     Dave provided a lot of corrections to the spelling.
  308. + Prog:    Makefile
  309. + Title:    The '/^[ /]*[*]/d' expression breaks on HPUX.
  310. + From:    Bill Gaines <bill%iccdev@relay.EU.net> + fix
  311. + Fixed:    Patch #2 [Makefile]
  312. + New features since initial 6.4.0 release
  313. + ----------------------------------------
  314. + Prog:    nn
  315. + Title:    New auto-select-subject variable
  316. + From:    Jeffrey (J.D.) Sparkes <JSPARKES@BNR.CA>
  317. + Added:    Patch #2 [menu.c variable.c nn.1]
  318. + Prog:    nn
  319. + Title:    New default-kill-select variable
  320. + From:    KFS (on request from Bill Petro)
  321. + Added:    Patch #2 [kill.c variable.c nn.1]
  322. + Prog:    mini-inews (nntp)
  323. + Title:    updated to nntp release 1.5.8 (very minor changes!)
  324. + From:    KFS (with patches provided by Stan Barber)
  325. + Added:    Patch #2 [inews/*]
  326. *** ./LAST/global.c    Sat May  5 16:18:41 1990
  327. --- global.c    Mon May 14 17:14:07 1990
  328. ***************
  329. *** 194,200 ****
  330.   #ifdef MASTER_DIRECTORY
  331.       master_directory = MASTER_DIRECTORY;
  332.   #else
  333. !     master_directory = lib_directory;
  334.   #endif
  335.   
  336.   #ifdef HELP_DIRECTORY
  337. --- 194,200 ----
  338.   #ifdef MASTER_DIRECTORY
  339.       master_directory = MASTER_DIRECTORY;
  340.   #else
  341. !     master_directory = LIB_DIRECTORY;
  342.   #endif
  343.   
  344.   #ifdef HELP_DIRECTORY
  345. ***************
  346. *** 206,212 ****
  347.   #ifdef LOG_FILE
  348.       log_file = LOG_FILE;
  349.   #else
  350. !     log_file = mk_file_name(lib_directory, "Log");
  351.   #endif
  352.   
  353.       if (who_am_i == I_AM_MASTER || who_am_i == I_AM_SPEW)
  354. --- 206,212 ----
  355.   #ifdef LOG_FILE
  356.       log_file = LOG_FILE;
  357.   #else
  358. !     log_file = mk_file_name(LIB_DIRECTORY, "Log");
  359.   #endif
  360.   
  361.       if (who_am_i == I_AM_MASTER || who_am_i == I_AM_SPEW)
  362. *** ./LAST/group.c    Tue May 15 13:31:03 1990
  363. --- group.c    Tue May 15 14:00:26 1990
  364. ***************
  365. *** 294,299 ****
  366. --- 294,300 ----
  367.   #endif
  368.           user_delay(5);
  369.           }
  370. +         gh->master_flag |= M_BLOCKED;
  371.           if (mg_head != NULL) continue;
  372.           menu_return( ME_NEXT );
  373.       }
  374. ***************
  375. *** 332,337 ****
  376. --- 333,339 ----
  377.   
  378.       do {
  379.       gh->current_first = 0;
  380. +     if (gh->master_flag & M_BLOCKED) continue;
  381.       if (mask != NULL) continue;
  382.       if (access_mode & ACC_ALSO_READ_ARTICLES || first_art >= 0) continue;
  383.       if (menu_cmd != ME_NO_ARTICLES) gh->group_flag &= ~G_NEW;
  384. ***************
  385. *** 684,690 ****
  386.    get_folder:
  387.       m_endinput();
  388.       if (strcmp(answer, "+") == 0)
  389. !     answer = (gh->save_file != NULL) ? gh->save_file : default_save_file;
  390.       if (!expand_file_name(buffer, answer, 1)) goto_return (ME_NO_REDRAW);
  391.       menu_cmd = folder_menu(buffer);
  392.       gh = NULL;
  393. --- 686,692 ----
  394.    get_folder:
  395.       m_endinput();
  396.       if (strcmp(answer, "+") == 0)
  397. !     answer = (gh && gh->save_file != NULL) ? gh->save_file : default_save_file;
  398.       if (!expand_file_name(buffer, answer, 1)) goto_return (ME_NO_REDRAW);
  399.       menu_cmd = folder_menu(buffer);
  400.       gh = NULL;
  401. ***************
  402. *** 739,747 ****
  403.       menu_cmd = group_menu(gh, first, access_mode, mask, menu);
  404.       release_memory(&mem_marker);
  405.   
  406. ! goto_exit:
  407.       if (gh != orig_group) {
  408. !     gh->current_first = 0;
  409.       if (orig_group) init_group(orig_group);
  410.       }
  411.   
  412. --- 741,749 ----
  413.       menu_cmd = group_menu(gh, first, access_mode, mask, menu);
  414.       release_memory(&mem_marker);
  415.   
  416. !  goto_exit:
  417.       if (gh != orig_group) {
  418. !     if (gh != NULL) gh->current_first = 0;
  419.       if (orig_group) init_group(orig_group);
  420.       }
  421.   
  422. *** ./LAST/inews/clientlib.c    Tue May  1 22:31:35 1990
  423. --- inews/clientlib.c    Tue May 15 15:54:00 1990
  424. ***************
  425. *** 31,36 ****
  426. --- 31,38 ----
  427.   #ifndef FOR_NN
  428.   #ifdef USG
  429.   # define    index    strchr
  430. + # define        bcopy(a,b,c)   memcpy(b,a,c)
  431. + # define        bzero(a,b)     memset(a,'\0',b)
  432.   #endif USG
  433.   #endif
  434.   
  435. ***************
  436. *** 525,536 ****
  437.       (void) fclose(ser_rd_fp);
  438.   }
  439.   
  440. - #ifdef USG
  441. - bzero(p, l)
  442. -     register char    *p;
  443. -     register int    l;
  444. - {
  445. -     while (l-- > 0)
  446. -         *p++ = 0;
  447. - }
  448. - #endif USG
  449. --- 527,529 ----
  450. *** ./LAST/inews/version.c    Sun Apr  1 00:34:21 1990
  451. --- inews/version.c    Tue May 15 15:54:00 1990
  452. ***************
  453. *** 2,5 ****
  454.    * Provide the version number of this release.
  455.    */
  456.   
  457. ! char    nntp_version[] = "1.5.7 (10 November 89)";
  458. --- 2,5 ----
  459.    * Provide the version number of this release.
  460.    */
  461.   
  462. ! char    nntp_version[] = "1.5.8 (11 March 90)";
  463. *** ./LAST/inst.sh    Sat May  5 16:05:04 1990
  464. --- inst.sh    Mon May 14 17:14:06 1990
  465. ***************
  466. *** 310,317 ****
  467.       } |
  468.       while read DIR SECT SRC
  469.       do
  470. !         if [ -d "$DIR"/. -a -w "$DIR"/. ]
  471.           then
  472.               for i in man/*$SRC
  473.               do
  474. --- 310,316 ----
  475.       } |
  476.       while read DIR SECT SRC
  477.       do
  478. !         if [ -d "$DIR"/. ]
  479.           then
  480.               for i in man/*$SRC
  481.               do
  482. *** ./LAST/kill.c    Thu Apr 26 16:16:39 1990
  483. --- kill.c    Tue May 15 11:56:43 1990
  484. ***************
  485. *** 9,14 ****
  486. --- 9,15 ----
  487.   #include "regexp.h"
  488.   
  489.   export int killed_articles;
  490. + export int dflt_kill_select = 30;
  491.   
  492.   char KILL_FILE[] =     "kill";
  493.   char COMPILED_KILL[] =    "KILL.COMP";
  494. ***************
  495. *** 381,387 ****
  496.       extern article_header *get_menu_article();
  497.       group_header *gh;
  498.   
  499. !     prompt("\1AUTO\1 (k)ill or (s)elect (CR => Kill subject 1 month) ");
  500.       switch (get_c()) {
  501.        case CR:
  502.        case NL:
  503. --- 382,392 ----
  504.       extern article_header *get_menu_article();
  505.       group_header *gh;
  506.   
  507. !     days = dflt_kill_select % 100;
  508. !     flag = (dflt_kill_select / 100) ? AUTO_SELECT : AUTO_KILL;
  509. !     prompt("\1AUTO\1 (k)ill or (s)elect (CR => %s subject %d days) ",
  510. !        flag == AUTO_KILL ? "Kill" : "Select", days);
  511.       switch (get_c()) {
  512.        case CR:
  513.        case NL:
  514. ***************
  515. *** 392,398 ****
  516.   
  517.       strcpy(buffer, ah->subject);
  518.       enter_kill_file(current_group, buffer,
  519. !             AUTO_KILL | ON_SUBJECT | KILL_CASE_MATCH, 30);
  520.       msg("DONE");
  521.       return 1;
  522.   
  523. --- 397,403 ----
  524.   
  525.       strcpy(buffer, ah->subject);
  526.       enter_kill_file(current_group, buffer,
  527. !             flag | ON_SUBJECT | KILL_CASE_MATCH, days);
  528.       msg("DONE");
  529.       return 1;
  530.   
  531. *** ./LAST/man/nn.1.A    Tue May 15 13:31:06 1990
  532. --- man/nn.1.A    Tue May 15 20:19:32 1990
  533. ***************
  534. *** 106,112 ****
  535.   \-\fBs\fP option!
  536.   .TP
  537.   \-\fBi\fP
  538. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case indenpendent.
  539.   Using this option, the case becomes significant.
  540.   .TP
  541.   \-\fBm\fP
  542. --- 106,112 ----
  543.   \-\fBs\fP option!
  544.   .TP
  545.   \-\fBi\fP
  546. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
  547.   Using this option, the case becomes significant.
  548.   .TP
  549.   \-\fBm\fP
  550. ***************
  551. *** 317,323 ****
  552.   .PP
  553.   Layout 4 is a hybrid between layout 1 and 3.  It will normally use
  554.   layout 1, but it will use layout 3 (with a little indentation) for
  555. ! menu lines where the subject is longer than the space avaiable with
  556.   layout 1.
  557.   .LP
  558.   Layout 1 is the default layout, and an alternative menu line layout is
  559. --- 317,323 ----
  560.   .PP
  561.   Layout 4 is a hybrid between layout 1 and 3.  It will normally use
  562.   layout 1, but it will use layout 3 (with a little indentation) for
  563. ! menu lines where the subject is longer than the space available with
  564.   layout 1.
  565.   .LP
  566.   Layout 1 is the default layout, and an alternative menu line layout is
  567. ***************
  568. *** 341,347 ****
  569.   and replaced by a single \&`>' character (see the \fBre-layout\fP
  570.   variable).
  571.   .PP
  572. ! Since articles are sorted accoring to the subject, two or more
  573.   adjacent articles may share the same subject (ignoring any `>'s).  In
  574.   this case, only the first article will show the subject of the
  575.   article; the rest will only show the `>' character in the subject
  576. --- 341,347 ----
  577.   and replaced by a single \&`>' character (see the \fBre-layout\fP
  578.   variable).
  579.   .PP
  580. ! Since articles are sorted according to the subject, two or more
  581.   adjacent articles may share the same subject (ignoring any `>'s).  In
  582.   this case, only the first article will show the subject of the
  583.   article; the rest will only show the `>' character in the subject
  584. ***************
  585. *** 359,365 ****
  586.   an \fIattribute\fP with each
  587.   article on your system.  These attributes are used to differentiate
  588.   between read and unread articles, selected articles, articles marked
  589. ! for later treatment, etc.  Depending on how \fInn\fP is configurated,
  590.   these attributes can be saved between invocations of \fInn\fP, or some
  591.   of them may only be used while \fInn\fP is running.
  592.   .LP
  593. --- 359,365 ----
  594.   an \fIattribute\fP with each
  595.   article on your system.  These attributes are used to differentiate
  596.   between read and unread articles, selected articles, articles marked
  597. ! for later treatment, etc.  Depending on how \fInn\fP is configured,
  598.   these attributes can be saved between invocations of \fInn\fP, or some
  599.   of them may only be used while \fInn\fP is running.
  600.   .LP
  601. ***************
  602. *** 378,384 ****
  603.   attributes will only mention the most important commands that may set
  604.   (or preserve) the attribute.
  605.   .LP
  606. ! The following attributes may be assoicated with an article:
  607.   .TP
  608.   .B read
  609.   Menu attribute "." - indicates that the article has been read or saved.
  610. --- 378,384 ----
  611.   attributes will only mention the most important commands that may set
  612.   (or preserve) the attribute.
  613.   .LP
  614. ! The following attributes may be associated with an article:
  615.   .TP
  616.   .B read
  617.   Menu attribute "." - indicates that the article has been read or saved.
  618. ***************
  619. *** 414,420 ****
  620.   \fIread\fP.
  621.   .TP
  622.   .B auto-selected
  623. ! These articles have the same appearence as \fIselected\fP articles on
  624.   the menu, and the only difference is that these articles have been
  625.   selected automatically via the auto-selection facility rather than
  626.   manually by you.  Very few commands differentiate between these
  627. --- 414,420 ----
  628.   \fIread\fP.
  629.   .TP
  630.   .B auto-selected
  631. ! These articles have the same appearance as \fIselected\fP articles on
  632.   the menu, and the only difference is that these articles have been
  633.   selected automatically via the auto-selection facility rather than
  634.   manually by you.  Very few commands differentiate between these
  635. ***************
  636. *** 422,428 ****
  637.   The main difference is that these articles are only marked as
  638.   \fIunread\fP when you leave the group (supposing they will also be
  639.   auto-selected the next the group is entered).  This simplifies the
  640. ! house-keeping between invokations of \fInn\fP.
  641.   .TP
  642.   .B leave
  643.   Menu attribute "+" - indicates that the article is marked for later
  644. --- 422,428 ----
  645.   The main difference is that these articles are only marked as
  646.   \fIunread\fP when you leave the group (supposing they will also be
  647.   auto-selected the next the group is entered).  This simplifies the
  648. ! house-keeping between invocations of \fInn\fP.
  649.   .TP
  650.   .B leave
  651.   Menu attribute "+" - indicates that the article is marked for later
  652. ***************
  653. *** 491,497 ****
  654.   \&\fBabc...z 01..9\fP  {\fIarticle N\fP}
  655.   The article with the given identification letter or digit is
  656.   selected or deselected.  The following article becomes the current
  657. ! article.
  658.   .TP
  659.   \&\fB.\fP    {\fBselect\fP}
  660.   Select or deselect the current article and move the cursor to the next
  661. --- 491,498 ----
  662.   \&\fBabc...z 01..9\fP  {\fIarticle N\fP}
  663.   The article with the given identification letter or digit is
  664.   selected or deselected.  The following article becomes the current
  665. ! article.  If the variable \fBauto-select-subject\fP is set, all
  666. ! articles with the same subject as the given article are selected.
  667.   .TP
  668.   \&\fB.\fP    {\fBselect\fP}
  669.   Select or deselect the current article and move the cursor to the next
  670. ***************
  671. *** 546,552 ****
  672.   sorts of attribute changes, either on individual articles, all
  673.   articles on the current menu page, all articles with a specific
  674.   attribute, or all available articles.  To access all the functions of
  675. ! this command, the \fBJ\fP key may have to be hit upto four times,
  676.   to loop through different one-line menus.  The full functionality of
  677.   the \fBjunk-articles\fP command is described in a separate section
  678.   below.
  679. --- 547,553 ----
  680.   sorts of attribute changes, either on individual articles, all
  681.   articles on the current menu page, all articles with a specific
  682.   attribute, or all available articles.  To access all the functions of
  683. ! this command, the \fBJ\fP key may have to be hit up to four times,
  684.   to loop through different one-line menus.  The full functionality of
  685.   the \fBjunk-articles\fP command is described in a separate section
  686.   below.
  687. ***************
  688. *** 652,658 ****
  689.   command.
  690.   .LP
  691.   \fBRelated variables\fP:
  692. ! auto-preview-mode, case-fold-search, confirm-auto-quit, confirm-entry,
  693.   auto-junk-seen, confirm-junk-seen, retain-seen-status, select-on-sender.
  694.   .SH THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
  695.   The \fBJ\fP {\fBjunk-articles\fP} command is a very flexible command
  696. --- 653,660 ----
  697.   command.
  698.   .LP
  699.   \fBRelated variables\fP:
  700. ! auto-preview-mode, auto-select-subject, case-fold-search,
  701. ! confirm-auto-quit, confirm-entry,
  702.   auto-junk-seen, confirm-junk-seen, retain-seen-status, select-on-sender.
  703.   .SH THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
  704.   The \fBJ\fP {\fBjunk-articles\fP} command is a very flexible command
  705. ***************
  706. *** 661,667 ****
  707.   specific attribute, or all available articles.
  708.   .LP
  709.   To access all the functions of this command, the \fBJ\fP key may have
  710. ! to be hit upto four times, to loop through different one-line menus:
  711.   .TP
  712.   \fBMark Read\fP
  713.   This submenu allows you to mark articles \fIread\fP.
  714. --- 663,669 ----
  715.   specific attribute, or all available articles.
  716.   .LP
  717.   To access all the functions of this command, the \fBJ\fP key may have
  718. ! to be hit up to four times, to loop through different one-line menus:
  719.   .TP
  720.   \fBMark Read\fP
  721.   This submenu allows you to mark articles \fIread\fP.
  722. ***************
  723. *** 685,691 ****
  724.   you explicitly change the attribute (e.g. by reading it) or it is
  725.   expired.
  726.   .LP
  727. ! For each of these submenues, \fInn\fP will list the most plausible
  728.   choices you may use, but all of the following answers can be used at
  729.   all submenus.  When you have entered a choice, \fInn\fP will afterward
  730.   ask whether the change should be made to all menu pages or only the
  731. --- 687,693 ----
  732.   you explicitly change the attribute (e.g. by reading it) or it is
  733.   expired.
  734.   .LP
  735. ! For each of these submenus, \fInn\fP will list the most plausible
  736.   choices you may use, but all of the following answers can be used at
  737.   all submenus.  When you have entered a choice, \fInn\fP will afterward
  738.   ask whether the change should be made to all menu pages or only the
  739. ***************
  740. *** 814,820 ****
  741.   \&\fBl\fP    {\fBleave-article\fP}
  742.   Mark the current article with the \fIleave\fP attribute and continue
  743.   with the next selected article.  When all the selected articles
  744. ! in the cuurent group have been read, these \fIleft over\fP articles
  745.   can be automatically selected and shown once more, or the treatment
  746.   can be postponed to the next time you enter the group.
  747.     This is particularly useful if you see an article
  748. --- 816,822 ----
  749.   \&\fBl\fP    {\fBleave-article\fP}
  750.   Mark the current article with the \fIleave\fP attribute and continue
  751.   with the next selected article.  When all the selected articles
  752. ! in the current group have been read, these \fIleft over\fP articles
  753.   can be automatically selected and shown once more, or the treatment
  754.   can be postponed to the next time you enter the group.
  755.     This is particularly useful if you see an article
  756. ***************
  757. *** 863,869 ****
  758.   .TP
  759.   \&\fB=\fP    {\fBgoto-menu\fP}
  760.   Return to selection mode in the current group (think of = as the
  761. ! \&"icon" of the selection menu).  The articles read sofar will be
  762.   marked \fIread\fP.
  763.   .TP
  764.   \&\fBN\fP    {\fBnext-group\fP}
  765. --- 865,871 ----
  766.   .TP
  767.   \&\fB=\fP    {\fBgoto-menu\fP}
  768.   Return to selection mode in the current group (think of = as the
  769. ! \&"icon" of the selection menu).  The articles read so far will be
  770.   marked \fIread\fP.
  771.   .TP
  772.   \&\fBN\fP    {\fBnext-group\fP}
  773. ***************
  774. *** 1009,1015 ****
  775.   in the file specified in \fBdecode-header-file\fP (default
  776.   "Decode.Headers") in the same directory as the decoded files.
  777.     If \fBdecode-skip-prefix\fP is non-null, \fB:decode\fP will attempt
  778. ! to ignore upto that many characters on each line to find the encoded data.
  779.   This is particularly useful in some binaries groups where files are
  780.   both uuencoded and packed with shar; \fInn\fP will ignore the prefix
  781.   added to each line by shar, and thus be able to unshar, concatenate,
  782. --- 1011,1017 ----
  783.   in the file specified in \fBdecode-header-file\fP (default
  784.   "Decode.Headers") in the same directory as the decoded files.
  785.     If \fBdecode-skip-prefix\fP is non-null, \fB:decode\fP will attempt
  786. ! to ignore up to that many characters on each line to find the encoded data.
  787.   This is particularly useful in some binaries groups where files are
  788.   both uuencoded and packed with shar; \fInn\fP will ignore the prefix
  789.   added to each line by shar, and thus be able to unshar, concatenate,
  790. *** ./LAST/man/nn.1.B    Sat May  5 14:19:09 1990
  791. --- man/nn.1.B    Tue May 15 20:19:32 1990
  792. ***************
  793. *** 147,153 ****
  794.   also available in reading mode):
  795.   .TP
  796.   \&\fBR\fP    {\fBreply\fP}
  797. ! Reply through mail to the author of the article.  This is the prefered
  798.   way to respond to an article unless you think your reply is of general
  799.   interest.
  800.   .TP
  801. --- 147,153 ----
  802.   also available in reading mode):
  803.   .TP
  804.   \&\fBR\fP    {\fBreply\fP}
  805. ! Reply through mail to the author of the article.  This is the preferred
  806.   way to respond to an article unless you think your reply is of general
  807.   interest.
  808.   .TP
  809. ***************
  810. *** 290,296 ****
  811.   \fB=\fP and \fInumber\fP
  812.   These answers are equivalent to the same answers described below
  813.   applied to the current group (e.g. \fBG return =\fP and \fBG =\fP are
  814. ! quivalent).
  815.   .LP
  816.   Specifying a folder, a file, or an article (with \fB%\fP) will cause
  817.   \fInn\fP to treat the file like a digest and split it into separate
  818. --- 290,296 ----
  819.   \fB=\fP and \fInumber\fP
  820.   These answers are equivalent to the same answers described below
  821.   applied to the current group (e.g. \fBG return =\fP and \fBG =\fP are
  822. ! equivalent).
  823.   .LP
  824.   Specifying a folder, a file, or an article (with \fB%\fP) will cause
  825.   \fInn\fP to treat the file like a digest and split it into separate
  826. ***************
  827. *** 448,454 ****
  828.   .LP
  829.   The following dialog is used to build the kill file entry:
  830.   .TP
  831. ! \fIAUTO (k)ill or (s)elect (CR => Kill subject 1 month)\fP
  832.   If you simply want \fInn\fP to kill all articles with the subject of
  833.   the current article (in reading mode) or a specific article (which
  834.   \fInn\fP will prompt for in selection mode), just hit \fBreturn\fP.
  835. --- 448,454 ----
  836.   .LP
  837.   The following dialog is used to build the kill file entry:
  838.   .TP
  839. ! \fIAUTO (k)ill or (s)elect (CR => Kill subject 30 days)\fP
  840.   If you simply want \fInn\fP to kill all articles with the subject of
  841.   the current article (in reading mode) or a specific article (which
  842.   \fInn\fP will prompt for in selection mode), just hit \fBreturn\fP.
  843. ***************
  844. *** 456,461 ****
  845. --- 456,464 ----
  846.   the current (or specified) subject in the current group for a period
  847.   of 30 days (which should be enough for the discussion to die out).
  848.   .sp 0.5v
  849. + You can control the default kill period, or change it into a "select"
  850. + period via the \fBdefault-kill-select\fP variable.
  851. + .sp 0.5v
  852.   If this "default behaviour" is not what you want, just answer either
  853.   \fIk\fP or \fIs\fP to kill or select articles, respectively, which
  854.   will bring you on to the rest of the questions.
  855. ***************
  856. *** 503,509 ****
  857.   specify whether an exact match applies for the entry.
  858.   .LP
  859.   \fBRelated variables\fP:
  860. ! kill.
  861.   .SH THE FORMAT OF THE KILL FILE
  862.   The kill file consists of one line for each entry.  Empty lines and
  863.   lines starting with a # character are ignored.  \fInn\fP automatically
  864. --- 506,512 ----
  865.   specify whether an exact match applies for the entry.
  866.   .LP
  867.   \fBRelated variables\fP:
  868. ! default-kill-select, kill.
  869.   .SH THE FORMAT OF THE KILL FILE
  870.   The kill file consists of one line for each entry.  Empty lines and
  871.   lines starting with a # character are ignored.  \fInn\fP automatically
  872. ***************
  873. *** 537,543 ****
  874.   The \fIflags\fP field consists of a list of characters which
  875.   identifies the type of entry, and the interpretation of each
  876.   \fIstring\fP field.  When used, the flag characters must be used in
  877. ! the order in which they are desctibed below:
  878.   .TP
  879.   \fB~\fP    (optional)
  880.   .br
  881. --- 540,546 ----
  882.   The \fIflags\fP field consists of a list of characters which
  883.   identifies the type of entry, and the interpretation of each
  884.   \fIstring\fP field.  When used, the flag characters must be used in
  885. ! the order in which they are described below:
  886.   .TP
  887.   \fB~\fP    (optional)
  888.   .br
  889. ***************
  890. *** 623,629 ****
  891.   following substitutions have been performed on the command:
  892.   .TP
  893.   \fIFile name expansion\fP
  894. ! The ealier described file name expansions will be performed on all
  895.   arguments.
  896.   .TP
  897.   .B $G
  898. --- 626,632 ----
  899.   following substitutions have been performed on the command:
  900.   .TP
  901.   \fIFile name expansion\fP
  902. ! The earlier described file name expansions will be performed on all
  903.   arguments.
  904.   .TP
  905.   .B $G
  906. ***************
  907. *** 665,671 ****
  908.   .TP
  909.   \&\fBU\fP    {\fBunsub\fP}
  910.   Unsubscribe to the current group.  You will not see this group
  911. ! anymore unless you explicitly request it.  If the variable
  912.   \fBunsubscribe-mark-read\fP is set, all articles in the group will be
  913.   marked read when you unsubscribe.
  914.     If the variable \fBkeep-unsubscribed\fP is not set, the group will
  915. --- 668,674 ----
  916.   .TP
  917.   \&\fBU\fP    {\fBunsub\fP}
  918.   Unsubscribe to the current group.  You will not see this group
  919. ! any more unless you explicitly request it.  If the variable
  920.   \fBunsubscribe-mark-read\fP is set, all articles in the group will be
  921.   marked read when you unsubscribe.
  922.     If the variable \fBkeep-unsubscribed\fP is not set, the group will
  923. ***************
  924. *** 787,793 ****
  925.   \fB:rmail\fP
  926.   Open your mailbox (see the \fBmail\fP variable) as a folder to
  927.   read the incoming messages.  This is \fInot\fP a full mail interface
  928. ! (you cannot delete messages, no cc: on replies, etc), but it can give
  929.   you a quick glance at new mail without leaving \fInn\fP.
  930.   .TP
  931.   \fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
  932. --- 790,797 ----
  933.   \fB:rmail\fP
  934.   Open your mailbox (see the \fBmail\fP variable) as a folder to
  935.   read the incoming messages.  This is \fInot\fP a full mail interface
  936. ! (depending on the nn configuration, you may not be able to delete
  937. ! messages, add cc: on replies, etc), but it can give
  938.   you a quick glance at new mail without leaving \fInn\fP.
  939.   .TP
  940.   \fB:set\fP \fIvariable\fP [ \fIvalue\fP ]
  941. ***************
  942. *** 831,837 ****
  943.   (articles ordered after posting date only), and \fBsender\fP (articles
  944.   ordered after sender's name).
  945.   .TP
  946. ! \fB:unset\fP \fIvariable\fP
  947.   Toggle a boolean variable.
  948.   .TP
  949.   \fB:unread\fP [ \fIgroup\fP ] [ \fIarticles\fP ]
  950. --- 835,841 ----
  951.   (articles ordered after posting date only), and \fBsender\fP (articles
  952.   ordered after sender's name).
  953.   .TP
  954. ! \fB:toggle\fP \fIvariable\fP
  955.   Toggle a boolean variable.
  956.   .TP
  957.   \fB:unread\fP [ \fIgroup\fP ] [ \fIarticles\fP ]
  958. *** ./LAST/man/nn.1.C    Tue May 15 13:31:07 1990
  959. --- man/nn.1.C    Tue May 15 20:19:32 1990
  960. ***************
  961. *** 185,190 ****
  962. --- 185,195 ----
  963.   command at the end of the article and the `=' {\fBgoto-menu\fP}
  964.   returns to the menu immediately as usual.
  965.   .TP
  966. + \fBauto-select-subject\fP    (boolean, default false)
  967. + When set, selecting an article from the menu using the article id
  968. + (a-z), all articles on the menu with the same subject will
  969. + automatically be selected as well.
  970. + .TP
  971.   \fBbackup\fP    (boolean, default true)
  972.   When set, a copy of the initial .newsrc and select files will save be
  973.   the first time they are changed.  \fInn\fP remembers the initial
  974. ***************
  975. *** 241,247 ****
  976.   having read the last group.  If not confirmed, \fInn\fP will recycle
  977.   the presentation sequence looking for groups that were skipped with
  978.   the `N' {\fBnext-group\fP} command.  But it will not look for new
  979. ! articles arrived since the invokation of \fInn\fP.
  980.   .TP
  981.   \fBconfirm-create\fP        (boolean, default true)
  982.   When set, \fInn\fP will ask for confirmation before creating a new
  983. --- 246,252 ----
  984.   having read the last group.  If not confirmed, \fInn\fP will recycle
  985.   the presentation sequence looking for groups that were skipped with
  986.   the `N' {\fBnext-group\fP} command.  But it will not look for new
  987. ! articles arrived since the invocation of \fInn\fP.
  988.   .TP
  989.   \fBconfirm-create\fP        (boolean, default true)
  990.   When set, \fInn\fP will ask for confirmation before creating a new
  991. ***************
  992. *** 328,333 ****
  993. --- 333,346 ----
  994.   first component of the group name is used as the suggested
  995.   distribution, e.g. `comp' when posting to comp.whatever.
  996.   .TP
  997. + \fBdefault-kill-select\fP \fI[1]days\fP    (number, default 30)
  998. + Specifies the default action for the \fBK\fP {\fBkill-select\fP}
  999. + command if the first prompt is answered by \fBreturn\fP.  It contains
  1000. + the number of days to keep the kill or select entry in the kill file
  1001. + (1-99 days).  If it has the value \fIdays\fP+100 (e.g. 130), it
  1002. + denotes that the default action is to \fIselect\fP rather than kill on
  1003. + the subject for the specified period.
  1004. + .TP
  1005.   \fBdefault-save-file\fP \fIfile\fP    (string, default +$F)
  1006.   The default save file used in quick save mode.  It can also be
  1007.   specified using the abbreviation "+" as the file name in normal save
  1008. ***************
  1009. *** 481,488 ****
  1010.   as read.  This is useful to get up-to-date quickly if you have not
  1011.   read news for a longer period.
  1012.   .TP
  1013. ! \fBlines\fP \fIlin\fP    (integer, default screen hight)
  1014. ! This variable contains the screen hight i.e. number of lines.
  1015.   .TP
  1016.   \fBlong-menu\fP        (boolean, default false)
  1017.   If set \fInn\fP will not put an empty line after the header line and
  1018. --- 494,501 ----
  1019.   as read.  This is useful to get up-to-date quickly if you have not
  1020.   read news for a longer period.
  1021.   .TP
  1022. ! \fBlines\fP \fIlin\fP    (integer, default screen height)
  1023. ! This variable contains the screen height i.e. number of lines.
  1024.   .TP
  1025.   \fBlong-menu\fP        (boolean, default false)
  1026.   If set \fInn\fP will not put an empty line after the header line and
  1027. ***************
  1028. *** 560,566 ****
  1029.   an integer variable, and the following values can be used.  Some of
  1030.   these actions (marked with an *) will only work when
  1031.   \fBkeep-unsubscribed\fP is set, since the presence of a group in
  1032. ! \&.newsrc is the only way to recongnize it as an old group:
  1033.   .sp 0.5v
  1034.   \fB0\fP)  Ignore groups which are not in \&.newsrc.  This will obviously
  1035.   include new groups.
  1036. --- 573,579 ----
  1037.   an integer variable, and the following values can be used.  Some of
  1038.   these actions (marked with an *) will only work when
  1039.   \fBkeep-unsubscribed\fP is set, since the presence of a group in
  1040. ! \&.newsrc is the only way to recognize it as an old group:
  1041.   .sp 0.5v
  1042.   \fB0\fP)  Ignore groups which are not in \&.newsrc.  This will obviously
  1043.   include new groups.
  1044. ***************
  1045. *** 759,765 ****
  1046.   \fBretry-on-error\fP \fItimes\fP    (integer, default 0)
  1047.   When set, \fInn\fP will try the specified number of \fItimes\fP to
  1048.   open an article before reporting that the article does not exist
  1049. ! anymore.  This may be necessary in some network environments.
  1050.   .TP
  1051.   \fBsave-counter\fP \fIformat\fP    (string, default "%d")
  1052.   This is the printf-format which \fInn\fP uses to create substitution
  1053. --- 772,778 ----
  1054.   \fBretry-on-error\fP \fItimes\fP    (integer, default 0)
  1055.   When set, \fInn\fP will try the specified number of \fItimes\fP to
  1056.   open an article before reporting that the article does not exist
  1057. ! any more.  This may be necessary in some network environments.
  1058.   .TP
  1059.   \fBsave-counter\fP \fIformat\fP    (string, default "%d")
  1060.   This is the printf-format which \fInn\fP uses to create substitution
  1061. ***************
  1062. *** 817,823 ****
  1063.   redrawing the screen in the following cases:  After a \fBgoto-group\fP
  1064.   command an empty menu is shown (hit \fBspace\fP to make it appear),
  1065.   and after responding to an article, only the prompt line is shown (use
  1066. ! ^L to redraw the screen).  To avoid redrawing the screen aftern an
  1067.   extended command, set the \fBdelay-redraw\fP variable as well.
  1068.   .TP
  1069.   \fBslow-speed\fP \fIspeed\fP    (integer, default 1200)
  1070. --- 830,836 ----
  1071.   redrawing the screen in the following cases:  After a \fBgoto-group\fP
  1072.   command an empty menu is shown (hit \fBspace\fP to make it appear),
  1073.   and after responding to an article, only the prompt line is shown (use
  1074. ! ^L to redraw the screen).  To avoid redrawing the screen after an
  1075.   extended command, set the \fBdelay-redraw\fP variable as well.
  1076.   .TP
  1077.   \fBslow-speed\fP \fIspeed\fP    (integer, default 1200)
  1078. ***************
  1079. *** 886,892 ****
  1080.   .TP
  1081.   \fBsubject-match-parts\fP    (boolean, default false)
  1082.   When set, two subjects will be considered equal if they are identical
  1083. ! upto the first (differing) digit.  Together with the
  1084.   \fBsubject-match-offset\fP variable, this can be used in source groups
  1085.   where the subject often has a format like:
  1086.   .sp 0.5v
  1087. --- 899,905 ----
  1088.   .TP
  1089.   \fBsubject-match-parts\fP    (boolean, default false)
  1090.   When set, two subjects will be considered equal if they are identical
  1091. ! up to the first (differing) digit.  Together with the
  1092.   \fBsubject-match-offset\fP variable, this can be used in source groups
  1093.   where the subject often has a format like:
  1094.   .sp 0.5v
  1095. ***************
  1096. *** 956,962 ****
  1097.   \fBupdate-frequency\fP        (integer, default 1)
  1098.   Specifies how many changes need to be done to the .newsrc or select
  1099.   files before they are written back to disk.  The default setting
  1100. ! causese .newsrc to be updated every time a group has been read.
  1101.   .TP
  1102.   \fBuse-selections\fP        (boolean, default true)
  1103.   When set, \fInn\fP uses the selections and other article attributes
  1104. --- 969,975 ----
  1105.   \fBupdate-frequency\fP        (integer, default 1)
  1106.   Specifies how many changes need to be done to the .newsrc or select
  1107.   files before they are written back to disk.  The default setting
  1108. ! causes .newsrc to be updated every time a group has been read.
  1109.   .TP
  1110.   \fBuse-selections\fP        (boolean, default true)
  1111.   When set, \fInn\fP uses the selections and other article attributes
  1112. ***************
  1113. *** 964,970 ****
  1114.   select file.
  1115.   .TP
  1116.   \fBvisible-bell\fP    (boolean, default true)
  1117. ! When set, \fInn\fP will flash the screeen instead of "ringing the
  1118.   bell" if the visible bell (flash) capability is defined in the
  1119.   termcap/terminfo database.
  1120.   .TP
  1121. --- 977,983 ----
  1122.   select file.
  1123.   .TP
  1124.   \fBvisible-bell\fP    (boolean, default true)
  1125. ! When set, \fInn\fP will flash the screen instead of "ringing the
  1126.   bell" if the visible bell (flash) capability is defined in the
  1127.   termcap/terminfo database.
  1128.   .TP
  1129. *** ./LAST/man/nn.1.D    Tue May 15 13:31:08 1990
  1130. --- man/nn.1.D    Tue May 15 20:19:32 1990
  1131. ***************
  1132. *** 120,126 ****
  1133.   Prompt for the name of a news group or folder to be entered
  1134.   .TP
  1135.   \-\fBi\fP    {\fBtoggle case-fold-search\fP}
  1136. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case indenpendent.
  1137.   Using this option, the case becomes significant.
  1138.   .TP
  1139.   \-\fBI\fP
  1140. --- 120,126 ----
  1141.   Prompt for the name of a news group or folder to be entered
  1142.   .TP
  1143.   \-\fBi\fP    {\fBtoggle case-fold-search\fP}
  1144. ! Normally searches with \-\fBn\fP and \-\fBs\fP are case independent.
  1145.   Using this option, the case becomes significant.
  1146.   .TP
  1147.   \-\fBI\fP
  1148. ***************
  1149. *** 227,233 ****
  1150.   command, macro definitions are normally placed in the
  1151.   .I init
  1152.   file.  Macros are numbered from 0 to 100, i.e. it is possible to define
  1153. ! a total of 101 different macros (inplicit macros defined with the
  1154.   \fBmap\fP command uses internal numbers from 101 to 200).
  1155.   .LP
  1156.   To define macro number \fIM\fP, the following construction is used
  1157. --- 227,233 ----
  1158.   command, macro definitions are normally placed in the
  1159.   .I init
  1160.   file.  Macros are numbered from 0 to 100, i.e. it is possible to define
  1161. ! a total of 101 different macros (implicit macros defined with the
  1162.   \fBmap\fP command uses internal numbers from 101 to 200).
  1163.   .LP
  1164.   To define macro number \fIM\fP, the following construction is used
  1165. ***************
  1166. *** 270,276 ****
  1167.   .TP
  1168.   .I Shell Commands
  1169.   External commands can be invoked as part of a macro execution.  There
  1170. ! are two forms of shell command invokations available depending on
  1171.   whether a command \fImay\fP produce output or require user input, or
  1172.   it is \fIguaranteed\fP to complete without input or output to the
  1173.   terminal.  The difference is that in the latter case, \fInn\fP does
  1174. --- 270,276 ----
  1175.   .TP
  1176.   .I Shell Commands
  1177.   External commands can be invoked as part of a macro execution.  There
  1178. ! are two forms of shell command invocations available depending on
  1179.   whether a command \fImay\fP produce output or require user input, or
  1180.   it is \fIguaranteed\fP to complete without input or output to the
  1181.   terminal.  The difference is that in the latter case, \fInn\fP does
  1182. ***************
  1183. *** 360,366 ****
  1184.       \fBprompt\fP "Enter recipient name"
  1185.   .br
  1186.   When the macro terminates, the original prompt shown on entry to the
  1187. ! macro will automatically be redrawn.  If this is not desireable (e.g.
  1188.   if the macro goes from selection to reading mode), the redrawing of
  1189.   the prompt can be disabled by using a \fBprompt\fP command with an
  1190.   empty \fIstring\fP ("").  Example:
  1191. --- 360,366 ----
  1192.       \fBprompt\fP "Enter recipient name"
  1193.   .br
  1194.   When the macro terminates, the original prompt shown on entry to the
  1195. ! macro will automatically be redrawn.  If this is not desirable (e.g.
  1196.   if the macro goes from selection to reading mode), the redrawing of
  1197.   the prompt can be disabled by using a \fBprompt\fP command with an
  1198.   empty \fIstring\fP ("").  Example:
  1199. ***************
  1200. *** 765,771 ****
  1201.   in the
  1202.   .I file
  1203.   will be replaced by the terminal type defined in the TERM environment
  1204. ! variable.  \fInn\fP silently ingores the
  1205.   .B load
  1206.   command if the file does not exist (so you don't have to have a
  1207.   specific init file for terminals which does not require remapping).
  1208. --- 765,771 ----
  1209.   in the
  1210.   .I file
  1211.   will be replaced by the terminal type defined in the TERM environment
  1212. ! variable.  \fInn\fP silently ignores the
  1213.   .B load
  1214.   command if the file does not exist (so you don't have to have a
  1215.   specific init file for terminals which does not require remapping).
  1216. ***************
  1217. *** 1064,1070 ****
  1218.   lines of the .newsrc file.  Example: RC:10 (use 10 lines of .newsrc).
  1219.   .TP
  1220.   \fBRC:\fP\fIstring\fP
  1221. ! Similar to the \fBRC\fP entry, but limited to the lines upto (and
  1222.   including) the first line (i.e. group) starting with the given
  1223.   \fIstring\fP.  For example:  RC:alt.sources
  1224.   .TP
  1225. --- 1064,1070 ----
  1226.   lines of the .newsrc file.  Example: RC:10 (use 10 lines of .newsrc).
  1227.   .TP
  1228.   \fBRC:\fP\fIstring\fP
  1229. ! Similar to the \fBRC\fP entry, but limited to the lines up to (and
  1230.   including) the first line (i.e. group) starting with the given
  1231.   \fIstring\fP.  For example:  RC:alt.sources
  1232.   .TP
  1233. ***************
  1234. *** 1265,1273 ****
  1235.   .SH SEE ALSO
  1236.   Other netnews documentation.
  1237.   .br
  1238. ! nncheck(1), nngoback(1), nngrep(1), nntidy(1)
  1239.   .br
  1240. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1241.   .SH AUTHOR
  1242.   Kim F. Storm, Texas Instruments A/S, Denmark
  1243.   .br
  1244. --- 1265,1273 ----
  1245.   .SH SEE ALSO
  1246.   Other netnews documentation.
  1247.   .br
  1248. ! nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1249.   .br
  1250. ! nnadmin(1M), nnusage(1M), nnmaster(8), nnspew(8)
  1251.   .SH AUTHOR
  1252.   Kim F. Storm, Texas Instruments A/S, Denmark
  1253.   .br
  1254. *** ./LAST/man/nncheck.1    Wed May  2 20:50:44 1990
  1255. --- man/nncheck.1    Tue May 15 13:29:12 1990
  1256. ***************
  1257. *** 88,101 ****
  1258.   .DT
  1259.   .ta \w'$db/MASTER'u+6m
  1260.   .\"ta 0 12
  1261. ! ~/.nn/rc    The record of read articles
  1262.   .br
  1263.   $db/MASTER    The database master index
  1264.   .DT
  1265.   .SH SEE ALSO
  1266. ! nn(1), nngoback(1), nngrep(1), nntidy(1)
  1267.   .br
  1268. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(1M)
  1269.   .SH AUTHOR
  1270.   Kim F. Storm, Texas Instruments A/S, Denmark
  1271.   .br
  1272. --- 88,101 ----
  1273.   .DT
  1274.   .ta \w'$db/MASTER'u+6m
  1275.   .\"ta 0 12
  1276. ! ~/.newsrc    The record of read articles
  1277.   .br
  1278.   $db/MASTER    The database master index
  1279.   .DT
  1280.   .SH SEE ALSO
  1281. ! nn(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1282.   .br
  1283. ! nnadmin(1M), nnusage(1M), nnmaster(1M)
  1284.   .SH AUTHOR
  1285.   Kim F. Storm, Texas Instruments A/S, Denmark
  1286.   .br
  1287. *** ./LAST/man/nngoback.1    Thu Apr 26 14:57:00 1990
  1288. --- man/nngoback.1    Tue May 15 13:29:16 1990
  1289. ***************
  1290. *** 81,89 ****
  1291.   .br
  1292.   .DT
  1293.   .SH SEE ALSO
  1294. ! nn(1), nncheck(1), nngrep(1), nntidy(1)
  1295.   .br
  1296. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1297.   .SH NOTES
  1298.   \fBnngoback\fP does not check the age of the `old' active files; it
  1299.   will blindly believe that active.0 was created today, and that
  1300. --- 81,89 ----
  1301.   .br
  1302.   .DT
  1303.   .SH SEE ALSO
  1304. ! nn(1), nncheck(1), nngrab(1), nngrep(1), nnpost(1), nntidy(1)
  1305.   .br
  1306. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1307.   .SH NOTES
  1308.   \fBnngoback\fP does not check the age of the `old' active files; it
  1309.   will blindly believe that active.0 was created today, and that
  1310. *** ./LAST/man/nngrab.1    Sun Apr 29 15:32:05 1990
  1311. --- man/nngrab.1    Tue May 15 13:19:30 1990
  1312. ***************
  1313. *** 36,42 ****
  1314.   .SH SEE ALSO
  1315.   nn(1), nnspew(8), egrep(1)
  1316.   .SH NOTES
  1317. ! \fInngrap\fP \fIcan be\fP much faster than the equivalent command
  1318.   shown above, if the tertiary news subject
  1319.   database generated by the \fInnspew\fP(8) daemon exists.  To enable
  1320.   the faster operation, \fInnspew\fP must be executed regularly by cron.
  1321. --- 36,42 ----
  1322.   .SH SEE ALSO
  1323.   nn(1), nnspew(8), egrep(1)
  1324.   .SH NOTES
  1325. ! \fInngrab\fP \fIcan be\fP much faster than the equivalent command
  1326.   shown above, if the tertiary news subject
  1327.   database generated by the \fInnspew\fP(8) daemon exists.  To enable
  1328.   the faster operation, \fInnspew\fP must be executed regularly by cron.
  1329. *** ./LAST/man/nngrep.1    Mon Apr 23 18:32:11 1990
  1330. --- man/nngrep.1    Tue May 15 13:29:16 1990
  1331. ***************
  1332. *** 87,95 ****
  1333.   ~/.nn/init    The presentation sequence
  1334.   .DT
  1335.   .SH SEE ALSO
  1336. ! nn(1), nncheck(1), nngoback(1), nngrep(1)
  1337.   .br
  1338. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1339.   .SH AUTHOR
  1340.   Kim F. Storm, Texas Instruments A/S, Denmark
  1341.   .br
  1342. --- 87,95 ----
  1343.   ~/.nn/init    The presentation sequence
  1344.   .DT
  1345.   .SH SEE ALSO
  1346. ! nn(1), nncheck(1), nngoback(1), nngrab(1), nnpost(1), nntidy(1)
  1347.   .br
  1348. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1349.   .SH AUTHOR
  1350.   Kim F. Storm, Texas Instruments A/S, Denmark
  1351.   .br
  1352. *** ./LAST/man/nnmaster.8    Tue May 15 13:31:09 1990
  1353. --- man/nnmaster.8    Tue May 15 13:29:15 1990
  1354. ***************
  1355. *** 62,68 ****
  1356.   be collected.  Individual groups, e.g. news.software.nn, can also be
  1357.   specified
  1358.   .sp 0.5v
  1359. ! A group name preceeded by an exclamation mark, e.g. !talk.politics,
  1360.   will cause the group and all its subgroups to be ignored.
  1361.   .sp 0.5v
  1362.   An empty argument, i.e. "", will cause all groups that are not ignored
  1363. --- 62,68 ----
  1364.   be collected.  Individual groups, e.g. news.software.nn, can also be
  1365.   specified
  1366.   .sp 0.5v
  1367. ! A group name preceded by an exclamation mark, e.g. !talk.politics,
  1368.   will cause the group and all its subgroups to be ignored.
  1369.   .sp 0.5v
  1370.   An empty argument, i.e. "", will cause all groups that are not ignored
  1371. ***************
  1372. *** 73,79 ****
  1373.   .br
  1374.   If the empty argument had been omitted, nothing would be collected,
  1375.   since the presence of any \fIgroups\fP arguments causes \fInnmaster\fP
  1376. ! to ignore all groups which are not explicitly mentionned.
  1377.   .sp 0.5v
  1378.   Example 1: The following commands can be executed by cron to collect
  1379.   different sets of groups at different intervals or under different
  1380. --- 73,79 ----
  1381.   .br
  1382.   If the empty argument had been omitted, nothing would be collected,
  1383.   since the presence of any \fIgroups\fP arguments causes \fInnmaster\fP
  1384. ! to ignore all groups which are not explicitly mentioned.
  1385.   .sp 0.5v
  1386.   Example 1: The following commands can be executed by cron to collect
  1387.   different sets of groups at different intervals or under different
  1388. ***************
  1389. *** 295,301 ****
  1390.   collection of articles following the database initialization.  This is
  1391.   useful on systems where the 'min' field in the active file is
  1392.   unreliable or not maintained (Cnews doesn't) to limit the work done to
  1393. ! do the initial collection of news after the initalization of the
  1394.   database.  If news is accessed remotely from an NNTP server, this is
  1395.   even more important!  If \fIlimit\fP is omitted, or is zero,
  1396.   \fInnmaster\fP will trust the min field and collect all articles in
  1397. --- 295,301 ----
  1398.   collection of articles following the database initialization.  This is
  1399.   useful on systems where the 'min' field in the active file is
  1400.   unreliable or not maintained (Cnews doesn't) to limit the work done to
  1401. ! do the initial collection of news after the initialization of the
  1402.   database.  If news is accessed remotely from an NNTP server, this is
  1403.   even more important!  If \fIlimit\fP is omitted, or is zero,
  1404.   \fInnmaster\fP will trust the min field and collect all articles in
  1405. ***************
  1406. *** 424,430 ****
  1407.   Comments (starting with `#' and continuing to the end of line) and
  1408.   empty lines are allow in the GROUPS file, but it is strongly
  1409.   recommended to keep the changes to the GROUPS file as small as
  1410. ! possible, because of the implicit correspondance with the binary
  1411.   MASTER file.
  1412.   .LP
  1413.   It is not recommended to edit the GROUPS file while \fInnmaster\fP is
  1414. --- 424,430 ----
  1415.   Comments (starting with `#' and continuing to the end of line) and
  1416.   empty lines are allow in the GROUPS file, but it is strongly
  1417.   recommended to keep the changes to the GROUPS file as small as
  1418. ! possible, because of the implicit correspondence with the binary
  1419.   MASTER file.
  1420.   .LP
  1421.   It is not recommended to edit the GROUPS file while \fInnmaster\fP is
  1422. ***************
  1423. *** 510,516 ****
  1424.   .SH SEE ALSO
  1425.   nn(1), nncheck(1), nngrep(1), nntidy(1)
  1426.   .br
  1427. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1428.   .SH AUTHOR
  1429.   Kim F. Storm, Texas Instruments A/S, Denmark
  1430.   .br
  1431. --- 510,516 ----
  1432.   .SH SEE ALSO
  1433.   nn(1), nncheck(1), nngrep(1), nntidy(1)
  1434.   .br
  1435. ! nnadmin(1M), nnspew(8), nnusage(1M)
  1436.   .SH AUTHOR
  1437.   Kim F. Storm, Texas Instruments A/S, Denmark
  1438.   .br
  1439. *** ./LAST/man/nnspew.8    Sun Apr  1 21:36:05 1990
  1440. --- man/nnspew.8    Tue May 15 13:19:31 1990
  1441. ***************
  1442. *** 24,30 ****
  1443.   $db/subjects    subject database
  1444.   .DT
  1445.   .SH SEE ALSO
  1446. ! nn(1), nnspew(8), egrep(1)
  1447.   .SH NOTES
  1448.   \fInngrap\fP will use the subject database generated by \fInnspew\fP
  1449.   independent of its age.  Thus, if you stop running \fInnspew\fP,
  1450. --- 24,30 ----
  1451.   $db/subjects    subject database
  1452.   .DT
  1453.   .SH SEE ALSO
  1454. ! nn(1), nngrab(1), egrep(1)
  1455.   .SH NOTES
  1456.   \fInngrap\fP will use the subject database generated by \fInnspew\fP
  1457.   independent of its age.  Thus, if you stop running \fInnspew\fP,
  1458. *** ./LAST/man/nntidy.1    Mon Apr 23 18:32:10 1990
  1459. --- man/nntidy.1    Tue May 15 13:29:14 1990
  1460. ***************
  1461. *** 70,78 ****
  1462.   ~/.newsrc.tidy    The original rc file before tidy
  1463.   .DT
  1464.   .SH SEE ALSO
  1465. ! nn(1), nncheck(1), nngoback(1), nngrep(1)
  1466.   .br
  1467. ! nnadmin(1M), nnquery(1M), nnusage(1M), nnmaster(8)
  1468.   .SH AUTHOR
  1469.   Kim F. Storm, Texas Instruments A/S, Denmark
  1470.   .br
  1471. --- 70,78 ----
  1472.   ~/.newsrc.tidy    The original rc file before tidy
  1473.   .DT
  1474.   .SH SEE ALSO
  1475. ! nn(1), nncheck(1), nngoback(1), nngrab(1), nngrep(1), nnpost(1)
  1476.   .br
  1477. ! nnadmin(1M), nnusage(1M), nnmaster(8)
  1478.   .SH AUTHOR
  1479.   Kim F. Storm, Texas Instruments A/S, Denmark
  1480.   .br
  1481. *** ./LAST/menu.c    Sun Apr 29 23:41:29 1990
  1482. --- menu.c    Tue May 15 12:05:24 1990
  1483. ***************
  1484. *** 28,34 ****
  1485.   export int  auto_preview_mode = 0; /* preview rather than select */
  1486.   export int  preview_continuation = 12; /* what to do after preview */
  1487.   export int  preview_mark_read = 1; /* previewed articles are A_READ */
  1488. ! export int  select_on_sender = 0; /* + command selects on sender */
  1489.   
  1490.   export char delayed_msg[100] = "";    /* give to msg() after redraw */
  1491.   
  1492. --- 28,35 ----
  1493.   export int  auto_preview_mode = 0; /* preview rather than select */
  1494.   export int  preview_continuation = 12; /* what to do after preview */
  1495.   export int  preview_mark_read = 1; /* previewed articles are A_READ */
  1496. ! export int  select_on_sender = 0; /* find command selects on sender */
  1497. ! export int  auto_select_subject = 0; /* auto select articles with same subj. */
  1498.   
  1499.   export char delayed_msg[100] = "";    /* give to msg() after redraw */
  1500.   
  1501. ***************
  1502. *** 1210,1215 ****
  1503. --- 1211,1217 ----
  1504.   
  1505.        cura = article_id;
  1506.        toggle();
  1507. +      if (auto_select_subject) goto select_subject;
  1508.        mark();
  1509.        cura++;
  1510.   
  1511. ***************
  1512. *** 1269,1274 ****
  1513. --- 1271,1277 ----
  1514.        if (last_k_cmd != K_ARTICLE_ID && last_k_cmd != K_SELECT)
  1515.            toggle();
  1516.   
  1517. +       select_subject:
  1518.        while (firsta+cura > 0 &&
  1519.           (articles[firsta+cura]->flag & (A_SAME | A_ALMOST_SAME)))
  1520.            cura--;
  1521. *** ./LAST/newsrc.c    Fri Apr 27 20:54:55 1990
  1522. --- newsrc.c    Mon May 14 15:32:46 1990
  1523. ***************
  1524. *** 413,419 ****
  1525.               last_new_gh = gh;
  1526.   
  1527.           if (new_group_action != RCX_TIME) {
  1528. !             printf("\nNew group: %s -- append to .newsrc? (y)");
  1529.               if (yes(0) <= 0) continue;
  1530.           }
  1531.           sprintf(buf, "%s:\n", gh->group_name);
  1532. --- 413,420 ----
  1533.               last_new_gh = gh;
  1534.   
  1535.           if (new_group_action != RCX_TIME) {
  1536. !             printf("\nNew group: %s -- append to .newsrc? (y)",
  1537. !                gh->group_name);
  1538.               if (yes(0) <= 0) continue;
  1539.           }
  1540.           sprintf(buf, "%s:\n", gh->group_name);
  1541. *** ./LAST/nn.c    Fri Apr 27 20:23:00 1990
  1542. --- nn.c    Mon May 14 17:14:00 1990
  1543. ***************
  1544. *** 726,732 ****
  1545.       nn_exit(cmd);
  1546.       }
  1547.   
  1548. !     if (!silent || who_am_i == I_AM_CHECK)
  1549.       printf("Release %s,  Kim F. Storm, 1990\n\n", version_id);
  1550.   
  1551.       if (nn_locked()) nn_exit(2);
  1552. --- 726,732 ----
  1553.       nn_exit(cmd);
  1554.       }
  1555.   
  1556. !     if (!silent && who_am_i != I_AM_CHECK)
  1557.       printf("Release %s,  Kim F. Storm, 1990\n\n", version_id);
  1558.   
  1559.       if (nn_locked()) nn_exit(2);
  1560. *** ./LAST/nntp.c    Tue May 15 13:31:12 1990
  1561. --- nntp.c    Mon May 14 17:13:53 1990
  1562. ***************
  1563. *** 816,826 ****
  1564.       *art++ = atol(cp);
  1565.       count++;
  1566.       }
  1567. -     *art = 0;
  1568.   
  1569. !     if (try_listgroup)
  1570. !     quicksort(article_list, count, article_number, sort_art_list);
  1571. !     *art = 0;
  1572.       return article_list;
  1573.   }
  1574.   
  1575. --- 816,827 ----
  1576.       *art++ = atol(cp);
  1577.       count++;
  1578.       }
  1579.   
  1580. !     if (article_list != NULL) {
  1581. !     *art = 0;
  1582. !     if (try_listgroup && count > 1)
  1583. !         quicksort(article_list, count, article_number, sort_art_list);
  1584. !     }
  1585.       return article_list;
  1586.   }
  1587.   
  1588. *** ./LAST/patchlevel.h    Tue May 15 13:31:12 1990
  1589. --- patchlevel.h    Tue May 15 17:31:39 1990
  1590. ***************
  1591. *** 12,18 ****
  1592.    *    1990-05-07: Release 6.4        (comp.sources.unix)
  1593.    *
  1594.    *    1990-05-10: Patch #1 (6.4.1)
  1595.    */
  1596.   
  1597. ! #define PATCHLEVEL 1
  1598.   
  1599. --- 12,19 ----
  1600.    *    1990-05-07: Release 6.4        (comp.sources.unix)
  1601.    *
  1602.    *    1990-05-10: Patch #1 (6.4.1)
  1603. +  *    1990-05-15: Patch #2 (6.4.2)
  1604.    */
  1605.   
  1606. ! #define PATCHLEVEL 2
  1607.   
  1608. *** ./LAST/term.c    Tue May 15 13:31:15 1990
  1609. --- term.c    Mon May 14 15:32:44 1990
  1610. ***************
  1611. *** 1206,1212 ****
  1612.           break;
  1613.       }
  1614.       if (help) {
  1615. !         fputs(" y=YES n=NO", stdout);
  1616.           prompt_length += 11;
  1617.           help = 0;
  1618.       }
  1619. --- 1206,1212 ----
  1620.           break;
  1621.       }
  1622.       if (help) {
  1623. !         fputs(" y=YES n=NO", stdout); fl;
  1624.           prompt_length += 11;
  1625.           help = 0;
  1626.       }
  1627. *** ./LAST/variable.c    Tue May 15 13:31:16 1990
  1628. --- variable.c    Tue May 15 12:06:28 1990
  1629. ***************
  1630. *** 46,51 ****
  1631. --- 46,52 ----
  1632.       append_sig_mail,
  1633.       append_sig_post,
  1634.       auto_junk_seen,
  1635. +     auto_select_subject,
  1636.       auto_preview_mode,
  1637.       case_fold_search,
  1638.       compress_mode,
  1639. ***************
  1640. *** 56,61 ****
  1641. --- 57,63 ----
  1642.       conf_group_entry,
  1643.       conf_junk_seen,
  1644.       delay_redraw,
  1645. +     dflt_kill_select,
  1646.       do_kill_handling,
  1647.       dont_sort_articles,
  1648.       dont_sort_folders,
  1649. ***************
  1650. *** 187,192 ****
  1651. --- 189,195 ----
  1652.       "attributes",        STR 1,        (char **)attributes,
  1653.       "auto-junk-seen",        BOOL 0,        (char **)&auto_junk_seen,
  1654.       "auto-preview-mode",    BOOL 0,        (char **)&auto_preview_mode,
  1655. +     "auto-select-subject",    BOOL 0,        (char **)&auto_select_subject,
  1656.       "backup",            BOOL 0,        (char **)&keep_rc_backup,
  1657.       "backup-suffix",        STR 0,        (char **)&bak_suffix,
  1658.       "bug-report-address",     STR 0,        (char **)&bug_address,
  1659. ***************
  1660. *** 211,216 ****
  1661. --- 214,220 ----
  1662.       "decode-header-file",    STR 0,        (char **)&decode_header_file,
  1663.       "decode-skip-prefix",    INT 0,        (char **)&decode_skip_prefix,
  1664.       "default-distribution",    STR 0,        (char **)&default_distribution,
  1665. +     "default-kill-select",    INT 0,        (char **)&dflt_kill_select,
  1666.       "default-save-file",    STR 3,        (char **)&default_save_file,
  1667.       "delay-redraw",        BOOL 0,        (char **)&delay_redraw,
  1668.       "edit-patch-command",     BOOL 0,        (char **)&edit_patch_command,
  1669. *** ./LAST/xmakefile    Wed May  2 20:50:41 1990
  1670. --- xmakefile    Fri May 11 00:48:41 1990
  1671. ***************
  1672. *** 152,158 ****
  1673.   * merge nn.1
  1674.   
  1675.   man/nn.1:    man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
  1676. !     [ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
  1677.       cat man/nn.1.? > man/nn.1
  1678.   
  1679.   *
  1680. --- 152,158 ----
  1681.   * merge nn.1
  1682.   
  1683.   man/nn.1:    man/nn.1.A man/nn.1.B man/nn.1.C man/nn.1.D
  1684. !     -[ ! -f man/nn.1 ] || mv man/nn.1 man/nn.1~
  1685.       cat man/nn.1.? > man/nn.1
  1686.   
  1687.   *
  1688.